Zum Hauptinhalt springen

AGGREGATE

Aggregatsfunktionen - GROUP BY ...

AggregatsfunktionBeschreibung
COUNT(spaltenname)Zählt alle Einträge die in der gewählten Spalte einen Wert haben.
AVG(spaltenname)Berechnet den Durchschnitt aller gefundenen Werte.
SUM(spaltenname)Summiert alle gefundenen Werte.
MAX(spaltenname)Liefert den größten gefundenen Wert zurück.
MIN(spaltenname)Liefert den kleinsten gefundenen Wert zurück.

Aggregatsfunktionen berechnen ein Ergebnis aus einer Vielzahl von Werten. Aggregatsfunktionen werden häufig mit dem Gruppierungsbefehl GROUP BY im SELECT Befehl aufgerufen.

Beispiele:

Tabelle 1: schueler

idvornamenachnamegeburtsdatumklasse_id
1PaulWeber2009-07-121
2MargotMüller2008-11-192
3MahmudAl'hissi2008-06-301
4SabrinaOtto2007-05-192
5AyseÜnül2008-12-122

Befehl

Mit diesem Befehl wird der jüngste Schüler*in gefunden, da nach dem größten Wert gesucht wird.

Ergebnis:

MAX(geburtsdatum)vorname
2009-07-12Paul

Befehl

Mit diesem Befehl wird der älteste Schüler*in gefunden, da nach dem kleinsten Wert gesucht wird.

Ergebnis:

MIN(geburtsdatum)vorname
2007-05-19Sabrina

Befehl

Mit diesem Befehl werden die Einträge in der Spalte id gezählt und ausgegeben.

Ergebnis:

COUNT(id)
5

Befehl

Mit diesem Befehl werden die Einträge nach der Spalte klasse_id gruppiert, dann gezählt und ausgegeben.

Ergebnis:

COUNT(id)klasse_id
21
32

HAVING - Ergebnisse einer Aggregatsfunktion einschränken

Der Befehl HAVING ersetzt bei einer Aggregatsfunktion den Befehl WHERE und überprüft, ob eine Bedingung zutrifft.

Befehl

SELECT COUNT(id), klasse_id FROM schueler GROUP BY klasse_id HAVING COUNT(id) > 2

Mit diesem Befehl werden die Einträge nach der Spalte klasse_id gruppiert, die gruppierten Schülerinnen gezählt und das Ergebnis nur ausgegegen, wenn in der Klasse mehr als 2 Schülerinnen sind.

Ergebnis:

COUNT(id)klasse_id
32